package com.ctshk.rpc.system.service;

import com.ctshk.common.dto.Result;
import com.ctshk.rpc.system.req.UploadReq;

import java.io.InputStream;
import java.util.List;

/**
 * 阿里云OSS文件服务
 */
public interface IFileOSSService {

    /**
     * 创建存储空间
     * @param bucketName 空间名称
     */
    public void createBucketByName(String bucketName);

    /**
     * 创建存储空间
     */
    void createBucket();

    /**
     * 上传文件
     *
     * @return
     */
    Result upload(String fileName, byte[] bytes, int businessType);

    Result uploadBatch(List<UploadReq> multipartFiles);
    
    /**
     * 下载文件
     *
     * @return
     */
    byte[] download(String objectName);

    /**
     * 文件列表
     */
    void list();

    Result findObject(String fileName);

    String uploadFile2OSS(String bucketName, InputStream is, String fileName);
}
